package com.aaa.mks.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * (Coupon)实体类
 *
 * @author makejava
 * @since 2020-12-14 11:51:06
 */
public class Coupon implements Serializable {
    private static final long serialVersionUID = 657141616719528274L;

    private Long id;

    private Long shopId;
    /**
     * 优惠卷类型；0->全场赠券；1->会员赠券；2->消费赠券；3->注册赠券
     */
    private Integer type;

    private String name;
    /**
     * 使用平台：0->全部；1->移动；2->PC
     */
    private Integer platform;
    /**
     * 数量
     */
    private Integer count;
    /**
     * 金额
     */
    private Double amount;
    /**
     * 每人限领张数
     */
    private Integer perLimit;
    /**
     * 使用门槛；0表示无门槛
     */
    private Double minPoint;
    /**
     * 开始时间
     */
    private Date startTime;
    /**
     * 结束时间
     */
    private Date endTime;
    /**
     * 使用类型：0->全场通用；1->指定分类；2->指定车辆
     */
    private Integer useType;
    /**
     * 备注
     */
    private String note;
    /**
     * 发行数量
     */
    private Integer publishCount;
    /**
     * 已使用数量
     */
    private Integer useCount;
    /**
     * 领取数量
     */
    private Integer receiveCount;
    /**
     * 可以领取的日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//处理接收参数
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//处理返回参数
    private Date enableTime;
    /**
     * 优惠码
     */
    private String code;
    /**
     * 可领取的会员类型：0->无限时
     */
    private Integer memberLevel;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getPlatform() {
        return platform;
    }

    public void setPlatform(Integer platform) {
        this.platform = platform;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Double getAmount() {
        return amount;
    }

    public void setAmount(Double amount) {
        this.amount = amount;
    }

    public Integer getPerLimit() {
        return perLimit;
    }

    public void setPerLimit(Integer perLimit) {
        this.perLimit = perLimit;
    }

    public Double getMinPoint() {
        return minPoint;
    }

    public void setMinPoint(Double minPoint) {
        this.minPoint = minPoint;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getUseType() {
        return useType;
    }

    public void setUseType(Integer useType) {
        this.useType = useType;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public Integer getPublishCount() {
        return publishCount;
    }

    public void setPublishCount(Integer publishCount) {
        this.publishCount = publishCount;
    }

    public Integer getUseCount() {
        return useCount;
    }

    public void setUseCount(Integer useCount) {
        this.useCount = useCount;
    }

    public Integer getReceiveCount() {
        return receiveCount;
    }

    public void setReceiveCount(Integer receiveCount) {
        this.receiveCount = receiveCount;
    }

    public Date getEnableTime() {
        return enableTime;
    }

    public void setEnableTime(Date enableTime) {
        this.enableTime = enableTime;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Integer getMemberLevel() {
        return memberLevel;
    }

    public void setMemberLevel(Integer memberLevel) {
        this.memberLevel = memberLevel;
    }

}